package com.wanxi.test;

import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;

public class MyFile {
    public static void main(String[] args) throws IOException {
//        practiceOne();

//        practiceTwo(Path.PATH.getPath() + "aaa");
//        map = practiceThree("E:\\wanxi\\step-1\\canyin01-1128");
//        System.out.println(map);
        practiceFour();
    }

    private static void practiceFour() {
//        Integer a = map.get("a");
//        第一次存字符时，应该次数为1；
        map.put("a",2);
        map.put("b",3);
        map.put("b",map.getOrDefault("b", 0)+1);
        Integer a = map.getOrDefault("a", 0);
        System.out.println(a);
    }

    static Map<String, Integer> map = new HashMap<>();

    private static Map<String, Integer> practiceThree(String s) {

        File file = new File(s);
        File[] files = file.listFiles();
        for (int i = 0; i < files.length; i++) {
            if (files[i].isDirectory()) {
                practiceThree(files[i].getPath());
            } else {
//                System.out.println(files[i].getName());
                String name = files[i].getName();
                String[] aa = name.split("\\.");
                if (aa.length > 1) {
                    String key = aa[1];
//                    通过key值，在map里面去拿，如果没有，则返回默认值0，如果有，则返回key对应的value值
                    map.put(key, map.getOrDefault(key, 0) + 1);
                }

            }
        }
//        System.out.println(file.getName());
        String name = file.getName();
        String[] aa = name.split("\\.");
        if (aa.length > 1) {
            String key = aa[1];
            map.put(key, map.getOrDefault(key, 0) + 1);
        }
        return map;

    }

    /**
     * 删除文件
     *
     * @param s
     */
    private static void practiceTwo(String s) {
        File file = new File(s);//得到当前的路径
        File[] files = file.listFiles();//得到当前路径里如果是文件夹，则得到文件夹里面的所有路径
        for (int i = 0; i < files.length; i++) {
            if (files[i].isDirectory()) {
                practiceTwo(files[i].getPath());
            }
            files[i].delete();
        }
        file.delete();
    }

    private static void practiceOne() throws IOException {
        String path = "aaa";
        String fileName = "a.txt";
        File dir = new File(Path.PATH.getPath(), path);
        dir.mkdirs();
        File file = new File(dir, fileName);
        file.createNewFile();
    }
}
